package org.tobaccomain.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.tobaccomain.pojo.dto.RfidDTO;
import org.tobaccomain.pojo.entity.LocationData;
import org.tobaccomain.pojo.entity.OverviewData;
import org.tobaccomain.pojo.entity.Rfid;

import java.util.List;

@Mapper
public interface DeskMapper {

    //设置rfid不可用
    void setRfidUnavailable(Long value);

    //设置多个rfid不可用
    void setRfidsUnavailable(List<Long> usedRfid);

    //设置rfid可用
    void setRfidAvailable(Long value);

    //获取全部的rfid号
    List<RfidDTO> selectAllRfids();

    //获取可用的rfid号
    List<RfidDTO> selectAvailableRfids();


    //rfid数据的上传
    void unloadRfid(List<Rfid> list);

    //将上传的单料烟rfid保存到数据库
    void saveRfid(List<Rfid> rfidList);

    //获取概览数据
    OverviewData selectOverview();

    //更新单料烟的个数
    void updateCategories(int count);

    //更新备料的个数
    void updateExtra(int count);

    //获取各个产地的单料烟数量
    List<LocationData> selectNumberOfLocation();

    //保存各个产地的单料烟数目
    void updateLocationData(LocationData locationData);

    //获取rfid的具体信息
    List<Rfid> selectRfidInfo(List<Long> rfidList);

    void updateRfid(Rfid rfid);

    //获取产地个数
    int selectOverviewOfLocation();
}
